package com.example.cc.client.manager;

import java.util.Map;

/**
 * 缓存管理器
 */
public interface CacheManager<K, V> {

    /**
     * 获取配置项值
     *
     * @param key 配置项键
     * @return 配置项值
     */
    V get(K key);


    Map<K, V> getAll();

    /**
     * 创建或更新配置项
     *
     * @param key   配置项键
     * @param value 配置项值
     */
    void update(K key, V value);

    /**
     * 删除配置项
     *
     * @param key 配置项键
     */
    void delete(K key);

    /**
     * 批量更新缓存
     *
     * @param map
     */
    void updateCache(Map<K, V> map);
}
